package com.car.service.service;

import com.car.service.entity.ChatSession;

import java.util.List;

/**
 * 聊天会话服务接口
 */
public interface ChatSessionService {
    
    /**
     * 创建会话
     *
     * @param userId 用户ID
     * @param serviceId 客服ID
     * @return 会话
     */
    ChatSession createSession(Long userId, Long serviceId);
    
    /**
     * 获取会话
     *
     * @param sessionId 会话ID
     * @return 会话
     */
    ChatSession getSession(String sessionId);
    
    /**
     * 获取用户的会话列表
     *
     * @param userId 用户ID
     * @param page 页码
     * @param size 每页大小
     * @return 会话列表
     */
    List<ChatSession> getUserSessions(Long userId, int page, int size);
    
    /**
     * 获取客服的会话列表
     *
     * @param serviceId 客服ID
     * @param page 页码
     * @param size 每页大小
     * @return 会话列表
     */
    List<ChatSession> getServiceSessions(Long serviceId, int page, int size);
    
    /**
     * 更新会话
     *
     * @param session 会话
     * @return 更新后的会话
     */
    ChatSession updateSession(ChatSession session);
    
    /**
     * 关闭会话
     *
     * @param sessionId 会话ID
     */
    void closeSession(String sessionId);
    
    /**
     * 删除会话
     *
     * @param sessionId 会话ID
     */
    void deleteSession(String sessionId);
} 